synology.forum архив спільноти · 2005–2022
ai.synology.forum →
ГлавнаяFTP Сервер › FTPS

FTPS

DarkTwin · 27.05.2010

Добрый день.

 

Есть проблема подключения из вне к FTP с разрешением только SSL/TLS-соединения к серверу на Synology DS410j.

 

Что имеем.

-Synology DS410j с прошивкой DSM 2.3-1157.

-Роутер Asus WL500gpV2 с пришивкой WL500gpv2-1.9.2.7-d-r1445

- настройки FTP на DS410j приведена на скриншоте.

http://i069.radikal.ru/1005/77/e718ce95d887t.jpg

- На роутере порт проброшен.

 

В чем проблема.

- после соединения, а оно как не странно проходит на ура, вылезает ошибка

Статус: Соединение установлено, ожидание приглашения...

Ответ: 220 DarkTwinNAS FTP server ready.

Команда: AUTH TLS

Ответ: 234 AUTH SSL command successful.

Статус: Инициализирую TLS...

Статус: Проверка сертификата...

Команда: USER admin

Статус: TLS/SSL соединение установлено.

Ответ: 331 Password required for admin.

Команда: PASS *********

Ответ: 230 User admin logged in.

Команда: SYST

Ответ: 215 UNIX Type: L8

Команда: FEAT

Ответ: 211- Extensions supported:

Ответ: AUTH TLS

Ответ: PBSZ

Ответ: PROT

Ответ: SIZE

Ответ: MDTM

Ответ: MFMT

Ответ: REST STREAM

Ответ: UTF8

Ответ: 211 End.

Команда: OPTS UTF8 ON

Ответ: 200 OK, UTF-8 enabled

Команда: PBSZ 0

Ответ: 200 PBSZ command successful (PBSZ=0).

Команда: PROT P

Ответ: 200 Protection level set to Private.

Статус: Соединение установлено

Статус: Получение списка каталогов...

Команда: PWD

Ответ: 257 "/" is current directory.

Команда: TYPE I

Ответ: 200 Type set to I.

Команда: PASV

Ответ: 227 Entering Passive Mode (ТУТ IP, 217,82)

Команда: LIST

Ошибка: GnuTLS error -53: Error in the push function.

Ошибка: Превышено время ожидания соединения

Ошибка: Не могу получить список каталогов!

 

Если коротко то не могу получить список каталога.

Из локальной сети все работает.

 

Лог приведен для FTP клиента "FileZilla FTP Client".

В Total Commander эта ошибка обзывается так

 

220 DarkTwinNAS FTP server ready.

AUTH TLS

234 AUTH SSL command successful.

Cert subject: /C=TW/ST=Taiwan/L=Taipei/O=Synology Inc./OU=FTP Team/CN=synology.com/[email protected]

Cert issuer: /C=TW/ST=Taiwan/L=Taipei/O=Synology Inc./OU=Certificate Authority/CN=Synology Inc. CA/[email protected]

USER admin

331 Password required for admin.

PASS ***********

230 User admin logged in.

SYST

215 UNIX Type: L8

FEAT

211- Extensions supported:

AUTH TLS

PBSZ

PROT

SIZE

MDTM

MFMT

REST STREAM

UTF8

211 End.

PBSZ 0

200 PBSZ command successful (PBSZ=0).

PROT P

200 Protection level set to Private.

OPTS UTF8 ON

200 OK, UTF-8 enabled

Connect ok!

PWD

257 "/" is current directory.

Чтение каталога...

TYPE A

200 Type set to A.

PASV

227 Entering Passive Mode (Тут IP,217,109)

PORT 192,168,12,15,17,213

500 Illegal PORT range rejected.

Zyxmon · 27.05.2010

На asus'е есть ftp_conntrack (не знаю - работает ли он с SSL). Попробуйте подключиться в активном режиме.

Или пробросьте порты пассивного режима на роутере.

DarkTwin · 27.05.2010
Попробуйте подключиться в активном режиме.

Если бы проблема была в Активном и Пассивном режиме то я бы не спрашивал.

И да я пробовал и активный а пассивный. Порты у меня не блочатся и DS410j фаерволом не блокируется.

 

Для ясности. HTTPS работет и SFTP то же.

Zyxmon · 27.05.2010

1. Попробуйте анонимный вход.

2. Порты для PASV проброшены? Галочкой "сообщать внешние ip адреса..." можно попробовать поиграть. (Последнее скорее всего не влияет). Но в строке "PORT 192,168,12,15,17,213" по идее должен быть публичный ip! Умный ftp клиент проигнорирует серость ip.

3. Если на асусе перенаправление 21 в xxx, то на нем нужно

rmmod ip_conntrack_ftp
rmmod ip_nat_ftp

потом

insmod ip_conntrack_ftp ports=21,xxx
insmod ip_nat_ftp ports=21,xxx

DarkTwin · 27.05.2010
1. Попробуйте анонимный вход.

Результат тот же.

. Порты для PASV проброшены? Галочкой "сообщать внешние ip адреса..." можно попробовать поиграть. (Последнее скорее всего не влияет). Но в строке "PORT 192,168,12,15,17,213" по идее должен быть публичный ip! Умный ftp клиент проигнорирует серость ip.

Порт проброшен с 211 (из Интернета) на 21 (на 410j)

 

По поводу третьего посмотрю после обеда.

Zyxmon · 27.05.2010
По поводу третьего посмотрю после обеда.

Судя по http://www.nagg.ru/node/16 не работает conntrack_ftp для FTPS.

Я бы поставил на asus или synology openvpn и пользовался бы openvpn каналом.

Zyxmon · 27.05.2010
Порт проброшен с 211 (из Интернета) на 21 (на 410j)

Порты 55536-55663 проброшены? Уже в который раз спрашиваю!

Лучше задать диапазон поменьше руками!

DarkTwin · 27.05.2010
Уже в который раз спрашиваю!

Спрашиваете второй раз.

 

Нет не проброшены, по крайней мере в явном виде. И к сожалению сделать это сейчас не смогу, конфигурировать роутер можно только из лольной сети (я иногда параноик).

Вечером сделаю и отпишусь.

DarkTwin · 27.05.2010

А теперь вопрос. Диапазон портов должен прокидываться один в один ?

-A PREROUTING -i vlan1 -p tcp --dport 55536:55586 -j DNAT --to-destination 192.168.1.23:55536-55586

 

Пример бы хотелось увидеть.

 

И еще вопрос.

Почему тогда работает FTP без шифрования ?

Zyxmon · 27.05.2010
А теперь вопрос. Диапазон портов должен прокидываться один в один ?

-A PREROUTING -i vlan1 -p tcp --dport 55536:55586 -j DNAT --to-destination 192.168.1.23:55536-55586

 

Пример бы хотелось увидеть.

 

И еще вопрос.

Почему тогда работает FTP без шифрования ?

Я FTPS не использовал и не скажу. Порты лучше пробрасывать 1 в 1. Достаточно руками задать небольшой диапазон (не более 10, достаточно 1).

Без шифрования работает, скорее всего, за счет conntrack_ftp. Если очень грубо - asus слушает пакеты на 21 порту и на ходу некоторые из них меняет.

 

Я предпочитаю поставить openvpn сервак в квартирной сети и все делать через него. Из любого места есть доступ в квартирную сеть ко всем устройствам, всем сервисам. Все по зашифрованному каналу.

 

FTP сервер за NAT (без поддержки conntrack_ftp и на нестандартном порту) когда то давно настраивал.

DarkTwin · 27.05.2010
Я предпочитаю поставить openvpn сервак в квартирной сети и все делать через него.

На данный момент открыл себе SSH с рабочего IP на домашний роутер :) , так что я то же можно считать дома.

Роутер то слушает 21 порт на нем FTP самого роутера (флешка тобиш). Так что на вряд ли он что то там меняет.

 

И если судить логически то роутер автоматом пробрасывает порты при инициализации с локальной сети. И так как мы используем пассивный режим то все должно работать, ан нет.

 

В любом случае вечером попробую.

 

А вообще мне кажется что в прошивке просто карявый ftpd.

Zyxmon · 27.05.2010
....И так как мы используем пассивный режим то все должно работать, ан нет.

При отсутвии conntrack_ftp все будет работать только после проброса портов пассивного режима. При этом сервер должен в ответах указывать свой внешний ip (для глупых клиентов). Это для обычного ftp (не ftps).

DarkTwin · 27.05.2010

хм.

На форуме http://www.wl500g.info нашел фразу Олега.

А проблема может быть в нестандартном порте
Zyxmon · 27.05.2010

Нестандартный порт сказывается на работу conntrack. В случае FTPS - трудно сказать, как повлияет. Порты для PASV пробросить обязательно. Погуглите на тему "ftp сервер за NAT".

DarkTwin · 27.05.2010

Уже погуглил.

Ни чего внятного. В смысле панацеи нету. Надо сидеть и тыкать.

Вообще можно плюнуть и оставить SFTP :) но тут уже дело принципа.

Zyxmon · 27.05.2010
Уже погуглил.

Ни чего внятного.

Как раз этот вопрос (простой ftp сервер за NAT) описан неоднократно, внятно и однозначно!

Если на стороне роутера (NAT) нет поддержки FTP ALG (conntrack_ftp), то должны быть выполнены следующие условия:

1. ftp серевер за nat должен знать свой публичный ip и использовать его в ответах.

2. режим только PASV.

3. порты PASV должны быть фиксированы и проброшены через NAT.

 

Для умных клиентов п.1 не обязателен, они поймут неправильный ответ сервера. Для FTPS не работает FTP ALG (conntrack_ftp) - поэтому нужно как минимум эти 3 пункта выполнить.

DarkTwin · 27.05.2010

ну что я могу сказать.

 

Спасибо.

Проброска диапазона портов для пассивного FTP поманила.

Все работает.

 

однако непонятно

Если на стороне роутера (NAT) нет поддержки FTP ALG (conntrack_ftp)

поддержка есть.

 

И вот еще что.

Если подключался человек с "белым" IP то ошибки не было, ошибка возникала только если человек сидел сам за NAT-ом.

Zyxmon · 27.05.2010
поддержка есть.

 

И вот еще что.

Если подключался человек с "белым" IP то ошибки не было, ошибка возникала только если человек сидел сам за NAT-ом.

Я дал ссылку выше - изучайте. При FTPS conntrack не понимает зашифрованный протокол.

DarkTwin · 27.05.2010
При FTPS conntrack не понимает зашифрованный протокол.

еще раз.

FTPS и подключение с белого IP (не FTP, а пользователь) работало, а за NAT -ом если (не FTP, а пользователь) не подключалось. При чем тут conntrack и шифрование трафика.

mowgli · 27.05.2010

лениво это все читать. если порты снаружи стандартны то кроме ftp нада пробросить еще ftpdata. удаче.

DarkTwin · 28.05.2010

Во первых проблема решена.

Во вторых ваш ответ это набор слов не имеющих практически ни какого отношения к вопросу.

mowgli · 28.05.2010

чорт. жалко что вы не понимаете что вам пишут. учту это в будущем =)

Zyxmon · 28.05.2010
лениво это все читать. если порты снаружи стандартны то кроме ftp нада пробросить еще ftpdata. удаче.

ftpdata в PASV не используется.

 

DarkTwin

Сравнивайте логи с 2х клиентов. Обязательно они должны быть одинаковы и одинаково настроены. Для Implicit FTPS вроде как 990й порт еще нужно пробрасывать.

http://ru.wikipedia.org/wiki/FTPS

http://www.ipv4security.com/packet_flow/ftp_over_ssl.html

DarkTwin · 28.05.2010
чорт. жалко что вы не понимаете что вам пишут. учту это в будущем =)

Я замечательно понимаю что мне пишут, единственный недостаток что я иногда (это ключевое слово) не внимательно читаю.

 

Zyxmon На досуге проверю. Просто надо все вернуть на место и найти человека из вне с белым IP.

mowgli · 28.05.2010

самосабой я понимаю что используется а что нет в пассиве. об этом и было написано - для работе не в пассиве нужен проброс двух портов.

DarkTwin · 28.05.2010

Zyxmon

К стати в моем случае используется - Explicit FTPS он же FTPES он же FTP через явный TLS/SSL.

Вот бы найти еще и другой роутер, и проверить на нем будет ли автоматом пробрасывать. Как на зло у всех знакомых идентичный моему роутер.

mowgli

Еще раз.

Режим и так и так пассивный, а ваше замечание не по теме. Постарайтесь хоть вникнуть в проблему перед тем как отвечать на вопрос.

Zyxmon · 28.05.2010
найти еще и другой роутер, и проверить на нем будет ли автоматом пробрасывать

Не будет. Прочтите все по ссылкам из топика еще раз.

 

PS Клиент за NAT, насколько понимаю, должен при правильных настройках соединяться. Скорее всего настройки были неправильные у клиента.

Если не соединяется - изучать логи.

DarkTwin · 28.05.2010
Не будет. Прочтите все по ссылкам из топика еще раз.

Ну разве нормальный роутер не добавляет автоматом порты инициализированные из локальной сети ? Торенты то автоматом пробрасываются. Я не нашел прямого запрета на проброс порта инициализированного ftp при шифровании

PS Клиент за NAT, насколько понимаю, должен при правильных настройках соединяться. Скорее всего настройки были неправильные у клиента.

Если не соединяется - изучать логи.

Настройки какие были такие и остались. Вчера проверял. Те люди что с карбины например имея белый IP как подключались так и подключаются, а те что раньше были за натом и не могли подключится после проброски доп портов стали без проблем подключатся.

 

Ладно. До получения логов и сравнения их можно расслабиться.

mowgli · 28.05.2010

постарался. согласен в проблеме на стороне клиента, надо смотреть как он ходит в интернет.

Zyxmon · 28.05.2010
Ну разве нормальный роутер не добавляет автоматом порты инициализированные из локальной сети ? Торенты то автоматом пробрасываются. Я не нашел прямого запрета на проброс порта инициализированного ftp при шифровании

FTP протокл древний и ужасный. 21 порт используется для передачи команд, данные идут по другим портам.

В активном режиме клиент говорит - дай мне данные, я слушаю на порту xxx. Сразу видна проблема (на стороне клиента!!!)!

В пассивном режиме порты для передачи данных открывает сервер. Они проброшены и проблем нет.

 

Это диалог клиента и сервера подслушивают файрвол/нат и на стороне клиента и на стороне сервера и, если необходимо, открывают порты указанные в командах(ответах), идущих на 21й порт сервера. Если команды зашифрованы - догадайтесь, что произойдет.

 

http://slacksite.com/other/ftp.html

Zyxmon · 29.05.2010

Небольшое теоретическое дополнение. В пассивном режиме ftp сервер сообщает клиенту. Вот мой ip и мои открытые порты для передачи данных. Тупой сервер (или сервер, который не знает свой публичный ip) сообщит внутренний серый ip. Тупой клиент будет пытаться использовать этот неправильный ip - опять получим облом.

Schwanthaler · 18.08.2011

У меня следующая ситуация: Synology 411+ находится за роутером D-Link Dir-825

- ftp настроен, все работает, проблем никаких

- хочу разрешить только SSL/TSL соединения. Для этого:

1. Включаю "Разрешить только SSL/TSL соединения"

2. Включаю "Сообщать внешние IP-адреса только в PASV-режиме"

3. Пробрасываю на роутере порты 55536-55663.

Что-то нужно еще сделать?

 

fuldon · 10.12.2011

Аналогичная проблема. В локальной сети все работает замечательно, а из Интернета за NAT подключения не происходит.

Порт 211 и порты 55536 - 55663 проброшены. Все равн PORT 192,168,1,3,193,118 и 500 Illegal PORT range rejected.

Что еще необходимо?

Doctor Synology · 10.12.2011
Аналогичная проблема. В локальной сети все работает замечательно, а из Интернета за NAT подключения не происходит.

Порт 211 и порты 55536 - 55663 проброшены. Все равн PORT 192,168,1,3,193,118 и 500 Illegal PORT range rejected.

Что еще необходимо?

 

1. Почему порт 211, а не 21? В настройках накопителя перенастроено?

 

2. "PORT 192,168,1,3,193,118" - не понял, что это. 192,168,1,3 - очень похоже на IP, но разделять его должны точки, а не запятые.

 

3. Провайдер не блокирует подключение извне на эти порты? IP-адрес у провайдера "белый"?

fuldon · 07.01.2012
1. Почему порт 211, а не 21? В настройках накопителя перенастроено?

 

2. "PORT 192,168,1,3,193,118" - не понял, что это. 192,168,1,3 - очень похоже на IP, но разделять его должны точки, а не запятые.

 

3. Провайдер не блокирует подключение извне на эти порты? IP-адрес у провайдера "белый"?

Что 21 порт, что 211 без разницы.

В настройках накопителя естественно менялось в соответствии с настройками NAT роутера.

 

2. Это то, что появляется в ftp клиенте. Такое предположение, что это порты, которые предлагает NAS, но т.к. они закрыты за роутером, поэтому и не работают.

Такое впечатление, что несмотря на четко прописанные порты для пассивного режима, накопитель все равно их игнорирует. Могу ошибаться.

 

3. Для того, чтобы убедиться, и был выбран порт отличный от 21. Но я думаю проблема не в этом.

ай-пи динамический, однако все другие сервисы от Synology работают нормально.

 

Проблема реально похожа на описанные выше, только автор в данной теме видимо больше не появляется.

Alex182 · 11.04.2012
Аналогичная проблема. В локальной сети все работает замечательно, а из Интернета за NAT подключения не происходит.

Порт 211 и порты 55536 - 55663 проброшены. Все равн PORT 192,168,1,3,193,118 и 500 Illegal PORT range rejected.

Что еще необходимо?

Была такая же ошибка, добавил в /etc/synoinfo.conf строку ftp_enable_fxp="yes", ребутнулся. Проблемы решило, но далее другая беда - не принимает логин..

Santorin · 12.04.2012

Роутер не ASUS RT-N56U ? У него, при пробросе портов для FTP, есть особенности.

Alex182 · 15.04.2012
Роутер не ASUS RT-N56U ? У него, при пробросе портов для FTP, есть особенности.

Поподробнее можно?

Santorin · 15.04.2012
Поподробнее можно?

При пробросе портов для FTP, поле "Локальный порт" в закладке WAN -- "Виртуальный сервер" должно быть пустым, относиться только к роутеру ASUS RT-N56U.

Zarechneff · 02.09.2012

Такая вот фигня случилась, может кому пригодится.

После обновления на бету 4.1 вдруг перестал работать фтп (при попытке соединения писалось: 500 illegal port command). Думал что ошибка в прошивке, дождался выхода финала... ан нет, не помогло.

После перелопачивания данного форума оставил только один порт в "Диапазон портов Пассивного FTP" (55536) и уже его дополнительно пробросил в роутере. После этого все стало подключаться, но ФТП клиент принудительно переключается в пассивный режим. Никаких неудобств это не причиняет, поэтому решил оставить все как есть. Работает и ладно.

Если кто то может что то добавить, милости прошу.